package com.chuangke.common.trans.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.chuangke.common.data.builder.BuilderConstant;
import com.chuangke.common.data.builder.IDataBuilder;

/**
 * 翻译
 *
 * @author wanglei
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.FIELD })
public @interface Trans {
	
	/**数据翻译服务*/
	Class<? extends IDataBuilder<?>> dataBuilder() ;

	/**
	 * 数据的类型，是bean还是map
	 * @return 类型
	 */
	String dataType() default BuilderConstant.DATA_TYPE_BEAN;
	
	/**
	 * 字典类型，专为DictDataBuilder设置
	 * @return
	 */
	String dictType() default "" ;

	/**
	 * 字段 比如 要翻译男女 上面的type写dictionary 此key写sex即可
	 *
	 * @return
	 */
	String key() default "";
	
	/**
	 * 设置到的target value 比如我有一个sex字段，有一个sexName 字段 sex是0 设置ref翻译服务可以自动把sexname设置为男
	 * 目标类字段配置了多个 有teacherName,teacherage 两个字段 我想要teacherName 可以写 teacherName#name
	 *
	 * @return
	 */
	String ref() default "";
	
	/**
	 * id的值是否存储多个id，如2342;21341234;23423;234
	 * @return
	 */
	boolean isMultipleKey() default false ;
	
	/**
	 * 多个id的id分隔符,如;
	 * @return
	 */
	String keySeparator() default "" ;

}
